package com.qf.java2007.mapper;

import com.qf.java2007.pojo.BookInfo;
import org.apache.ibatis.annotations.Param;

import java.awt.print.Book;
import java.util.List;

/**
 * @Author AzureSky_X
 * @Date 2021/3/6 9:39
 * @Version 1.0
 */
public interface BookInfoMapper {
    /**
     * 查询所有书籍
     *
     * @return
     */
    List<BookInfo> findAll();

    /**
     * 根据id查找该书籍分类信息
     *
     * @param bookId
     * @return
     */
    BookInfo findByIdWithClass(Long bookId);

    /**
     * 根据输入关键字搜索书名或作者名查询书籍
     *
     * @param searchWord 用户输入的关键字
     * @return
     */
    List<BookInfo> findByNameOrAuthor(String searchWord);

    /**
     * 删除书籍信息
     *
     * @param bookId
     */
    void delete(Long bookId);

    /**
     * 添加书籍信息
     *
     * @param bookInfo 书籍信息
     */
    void add(BookInfo bookInfo);

    /**
     * 更新书籍信息
     *
     * @param bookInfo 书籍信息
     */
    void update(BookInfo bookInfo);


    /**
     * 修改书籍数量
     *
     * @param number 书籍数量
     */
    void updateBookNum(@Param("number") Integer number, @Param("bookId") Long bookId);
}
